// Defines potion types
//--------------------------------
#ifndef MISCDATA_H
#define MISCDATA_H
#include "item.h"

class BoxOfMatches : public Item, public BIFlammable, public BIItemSymbol, public BIOnLight, public BIItemType, public BIItemWeight {
public:
    
    BoxOfMatches();
    virtual ~BoxOfMatches() { }

protected:

    virtual bool Name( std::string* name, bool* plural, uint article ) const;
    virtual bool ItemSymbol( IO::Sym* symbol ) const;
    virtual bool ItemType( uint* type ) const;
    virtual bool ItemWeight( uint* weight ) const;
    virtual bool Flammable( uint* flammableType ) const;
    virtual bool OnEaten( Creature* c );
    virtual bool OnLight( Creature* c, Behaved* target );

private:

    uint _count;

};

class Torch : public Item, public BIFlammable, public BIItemSymbol, public BIItemWeight, public BIItemType {
public:
    
    Torch() { }
    virtual ~Torch() { }

protected:

    virtual bool Name( std::string* name, bool* plural, uint article ) const;
    virtual bool ItemSymbol( IO::Sym* symbol ) const;
    virtual bool ItemType( uint* type ) const;
    virtual bool ItemWeight( uint* weight ) const;
    virtual bool Flammable( uint* flammableType ) const;
    virtual bool OnEaten( Creature* c );

};

#endif
